package cn.maxwell.basic.mapper;

import cn.maxwell.basic.query.BaseQuery;

import java.util.List;

/**
 * mapper接口公共类：包含基本的crud和批量删除的方法
 * @param <T>
 */
public interface BaseMapper<T> {
    //根据id查询
    T loadById(Long id);

    //查询所有
    List<T> loadAll();

    //添加
    void add(T t);

    //修改
    void update(T t);

    //删除
    void delete(Long id);

    //查询总条数
    Integer queryCount(BaseQuery baseQuery);

    //分页查询和高级查询
    List<T> queryData(BaseQuery baseQuery);

    //批量删除
    void patchDelete(List<Long> ids);
}
